1. Technical Field
Example embodiments relate generally to a semiconductor memory system. More particularly, embodiments of the present inventive concept relate to a non-volatile memory system including different types of (i.e., heterogeneous) non-volatile memory devices and a method of programming (or, operating) the non-volatile memory system.
2. Description of the Related Art
Generally, a semiconductor memory device may be classified into two types (i.e., a volatile memory device and a non-volatile memory device) according to whether data can be retained when power is not supplied. A NAND flash memory device is widely used as the non-volatile memory device. Recently, the NAND flash memory device includes a multi-level cell (MLC) that stores data having a plurality of bits. Thus, the NAND flash memory device may be manufactured to have a high degree of integration.
However, since the NAND flash memory device is not capable of performing an overwrite operation, the NAND flash memory device needs to perform an erase-before-write operation in a block unit and to perform a merge operation for distinguishing and merging valid data and invalid data under a predetermined condition. In other words, the NAND flash memory device has a lot of limits to operate.
A semiconductor memory system including at least one NAND flash memory device may be manufactured in small size because the NAND flash memory device has a high degree of integration. On the other hand, the semiconductor memory system may not operate at a high speed due to the above limits of the NAND flash memory device. In addition, the semiconductor memory system may lose data when a sudden power-off occurs while the semiconductor memory system performs a write operation.